This invention relates generally to data communication systems that support multiple data transmission rates. More particularly, mechanisms for determining the data transmission rate are described.
Cellular communication systems have grown dramatically in popularity in recent years. To date, a variety of cellular networks have been implemented, and one of the increasingly popular types of network is referred to as a code division multiple access (CDMA) system. The radio interface for CDMA systems is defined by the Telecommunications Industry Association and Electronic Industries Association (TIA/EIA) Interim Standard IS-95. In CDMA, each user signal includes a different orthogonal code and a pseudo-random binary sequence that modulate a carrier, spreading the spectrum of the waveform, and thus allowing a large number of user signals to share the same frequency spectrum.
The user signals are separated in the receiver with a correlator (or de-spreader) which allows only the signal energy from the selected orthogonal code to be de-spread. The other users signals, whose codes do not match are not despread and, as such, contribute only to noise and thus represent a self-interference generated by the system. The SNR of the system is determined by the ratio of desired signal power to the sum of the power of all interfering signals, enhanced by the system processing gain or the spread bandwidth to the baseband data rate.
The CDMA system as defined in IS-95 uses a CELP-based variable rate voice coding (vocoder) algorithm in which the data rate changes dynamically on a frame by frame basis as a function of the speech pattern (voice activity). The Traffic Channel frames can be transmitted at full, xc2xd, xc2xc or xe2x85x9 rate (for example, 9600, 4800, 2400 and 1200 bps, respectively, for Rate Set I). With each lower data rate, the transmitted symbol power (Es) is lowered proportionally, thus enabling an increase in the number of user signals in the channel. Since the data rate is not known a priori to the receiver, a conventional Viterbi decoder performs sequential decoding of all possible rates and then determines the rate of the current data frame.
A 20 ms Traffic Channel Rate Set 1 frame thus contains 192, 96, 48 and 24 data bits for rates full, xc2xd, xc2xc and xe2x85x9, respectively. Prior to convolution encoding, the data bits for full rate and half rate are encoded with a CRC polynomial and the 12 and 8 bit (respectively) CRC fields are appended to the data bits. However, the xc2xc and the xe2x85x9 rates are not protected by the CRC. Hence, for the two higher rates at least, rate determination may be performed by using the CRC.
However, if an error occurs in the associated CRC field, the received information is of little value in the rate determination process. Additionally, as specified in the IS-95 Interim Standard, the data rate Set 1 protects only the two highest data rates (9600 bps and 4800 bps) with the CRC polynomial. The two lower data rates (2400 bps and 1200 bps) are not protected by the CRC at all. As such, the rate determination must be performed using criteria other than the CRC.
There are two additional criteria which may be used in performing the rate determination: SER (Symbol Error Rate), and the size of the Viterbi-determined Cumulative Path Metric for the ML (Most Likely) path calculated during Viterbi decoding. However, in any practical system these two parameters are very unreliable, since the first parameter varies largely as a function of SNR (Signal-to-Noise Ratio), while the second parameter is typically distorted by a scaling of the ML path Cumulative Metrics during the decoding process.
In greater detail, in a wireless communications system such as IS-95, the traffic channel supports variable data rate operation at 9600, 4800, 2400, and 1200 bps for the Set 1 of rates, and 14400, 7200, 3600 and 1800 bps for the Set 2 of rates. In the variable rate system, the transmitter may change the rate from frame to frame depending on the overall channel conditions. Also, in a spread spectrum system, such as that specified by IS-95, the system maintains a constant channel rate of 19.2 kHz regardless of the actual data rate transmission. This is achieved by repeating the symbols by two, four or eight times (for the respective lower data rates).
After demodulation of the signal, the receiver must determine the data rate of the current frame before the frame is sent to a vocoder or a data file. This is conventionally done by the Viterbi decoder, which performs the consecutive decoding of all possible data rates and then determines the transmitted rate. In this process, the Viterbi decoder uses the CRC polynomial as well as the re-encoded SER and possibly the decoder Cumulative Metrics.
As was previously indicated, for the Set 1 of IS-95 data rates only the two higher data rates are protected by the CRC polynomial. As such, the determination of the 9600 and 4800 rates can be accomplished by using the CRC, while the determination of the 2400 and 1200 rates can be accomplished using the SER. It is well known that the error-detection capability of the CRC bits is largely determined by the degree r of G(x), or the number of CRC bits. In particular, any single-burst error of length r or less is detected. The number of undetected single-burst errors of length r+1 is xc2xd, and that of the length greater than r+1 is xc2xd.
Taking into consideration the reliability of the CRC, it is evident that it cannot be used independently as the only indicator of the transmitted data rate. As such an additional parameter, namely the SER, is typically considered. In this case the symbols are re-encoded, are compared with the received symbols, and the SER is calculated. The SER so calculated is then compared to a predetermined (for each rate) SER and is thus considered during the rate determination. However, since the SER can vary significantly (approximately 1% to 10% in fading), this criterion is extremely unreliable.
A last criterion that may be used in the rate determination process is the size of the Viterbi decoder Cumulative Path Metrics. However, in any particular implementation of the Viterbi algorithm for IS-95, the Cumulative Path Metrics must be normalized to allow for an efficient implementation. In this case, the comparison of the normalized Cumulative Path Metrics between the various data rates is very difficult and, as such, the confidence level associated with this parameter during the rate determination process is low.
These described rate determination schemes each require the Viterbi decoder to decode each frame at all four rates. The rate is then determined by checking for errors within each decoded frame (e.g., checking the CRC or SER). That is, an error checking scheme is implemented to determine which decoded frame contains the fewest errors. Unfortunately, this rate determination scheme requires the use of significant decoder resources since each frame is decoded at all four rates.
In view of the foregoing, there is a need for improved methods and apparatus for determining the rate of variable rate encoded signals. Specifically, there is a need for methods and apparatus that reduce decoder overhead and decoding time.
Accordingly, the present invention provides an apparatus and method for determining the rate of a variable rate encoded data frame.
In one aspect of the present invention, a rate determination unit for use in a receiver in a communication system that is adapted to receive communications at a plurality of different data rates is disclosed. The rate determination unit is configured to receive an encoded signal and determine the encoded signal""s data rate without first requiring decoding of the encoded signal. Preferably, the communication system is a code division multiple access based cellular telephone system and employs symbol repetition to maintain a constant symbol rate.
In a preferred embodiment, the communication system is a frame based system having a sequence of data frames each having a plurality of symbols, and the rate determination unit is arranged to determine the frame data rate of each data frame. Additionally, the rate determination unit includes a plurality of hypothesis units and a hypothesis analyzer. Each hypothesis unit is arranged to determine a hypothesis value for a frame of the encoded signal at an associated one of the data rates. The hypothesis analyzer is arranged to compare selected hypothesis values, determine the frame data rate based on such comparisons, and output a rate indication signal based on the determined frame data rate. Preferably, a first one of the hypothesis units is arranged to sum a first plurality of absolute values that are associated with discrete samples, and a second one of the hypothesis units is arranged to sum a second plurality of absolute values. Each of the second plurality of absolute values is a sum of a plurality of samples.
In another aspect of the invention, a receiver for receiving a radio frequency signal that includes a user communication is disclosed. The user communication is transmitted in frames of data bits, and each of the frames is transmitted with a data rate selected from a set of data rates that includes a highest rate and a lowest rate. The receiver includes a demodulator configured to demodulate the user communication, a rate determination unit configured to receive the demodulated user communication and determine a rate of the demodulated user communication, and a decoder configured to decode the demodulated user communication based on the determined rate. The rate determination unit is arranged to determine the data rate of the demodulated user communication without requiring prior decoding of the demodulated user communication.
In yet another aspect of the invention, a method of determining a rate of an encoded signal having a plurality of symbols is disclosed. The encoded signal is transmitted at a selected one of a plurality of data rates. A plurality of hypothesis values that are each associated with one of the data rates are determined. A first set of selected hypothesis values are compared to determine whether the transmission rate is equal to a first one of the plurality of data rates. The determination is accomplished prior to decoding of the encoded signal. In a preferred method aspect, the encoded signal is then decoded based on the determined rate.
Preferably, the comparison is accomplished by determining a plurality of ratios associated with the first set of selected hypothesis values and comparing each determined ratio to an associated predefined ratio. In another preferred embodiment, the first data rate is defined as the determined rate when each determined ratio is less than about the associated predefined ratio.
These and other features and advantages of the present invention will be presented in more detail in the following specification of the invention and the accompanying figures which illustrate by way of example the principles of the invention.